home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacUser Mac Bin 40
/
MACUSER-MACBIN40A-1997-03.ISO.7z
/
MACUSER-MACBIN40A-1997-03.ISO
/
オンラインソフト
/
オンラインソフト⁄毎号掲載
/
音楽,音声処理
/
MIDIGraphy folder
/
MGPC folder
/
Documents
/
English
/
notes⁄manual
Wrap
Text File
|
1996-11-22
|
24KB
|
596 lines
------------------------------------------------------------------------------
MG Profile Compiler Ver.1.3.0 / Release Notes (English edition)
Copyright (c) 1993-96 TONTATA
------------------------------------------------------------------------------
Created by TONTATA (a member of JIRAIYA-AIKOUKAI)
NIFTY-Serve : NCA02217
Internet : NCA02217@niftyserve.or.jp
mmaeda@ca2.so-net.or.jp
tontata@kagi.com
Home Page : http://ux01.so-net.or.jp/~mmaeda/
------------------------------------------------------------------------------
BRIEF DESCRIPTION
MG Profile Compiler is an application for Macintosh that allows you to
make sound device profiles for MIDIGraphy. It compiles source text files, and
then generates sound device profiles. For comments, suggestions or bug
reports, please send mail to me:
NIFTY-Serve : NCA02217
Internet : NCA02217@niftyserve.or.jp
mmaeda@ca2.so-net.or.jp
tontata@kagi.com
------------------------------------------------------------------------------
NOTES
- The "User's Manual" follows this "release notes" in this file. Please
read the "User's Manual" before you use this software.
- There are some regulations to distribute data created by using this
software. For details, refer the section "DISTRIBUTION".
------------------------------------------------------------------------------
SYSTEM REQUIREMENTS
- MG Profile Compiler works under System 7.0 or later. It has not been
tested under earlier version of system software.
------------------------------------------------------------------------------
LICENCE
- This package is an optional package of MIDIGraphy package which is
separately distributed. There are some differences in licensing
regulations for these two packages.
- MIDIGraphy package is the shareware. If you think a combination of two
packages (MIDIGraphy package and this package) is worth paying for,
please send me a shareware fee. Detail descriptions about a shareware fee
of MIDIGraphy are in the release notes provided with MIDIGraphy package.
- If you have already paid a shareware fee for any version of MIDIGraphy
package, you don't have to pay any more fee for this package.
------------------------------------------------------------------------------
DISTRIBUTION
- MG Profile Compiler is free to a non-commercial distribution. Please keep
package contents (including accompanying written materials) unchanged.
When you post MG Profile Compiler on sites or BBSs, please let me know
where you post it on.
- A prior permission is required for a commercial distribution. As a rule,
a commercial distribution requires the following terms.
a. Price is not unreasonable.
b. Any right or responsibility is not transferred.
c. Not any changes from the author's original package are allowed. (An
extracting archives or a recompressing whole of package contents
is admitted.)
d. One set of distribution is provided to the author who keeps it in
his custody.
- To use MG Profile Compiler for commercial purposes, a prior permission by
the author is necessary.
- To use data created by using MG Profile Compiler for commercial purposes,
a prior permission is necessary.
- It is prohibited to distribute data which created using a sample file
without modification.
- If you distribute data which created using a sample file with some
modifications, you must also modify its copyright description. The
distribution with copyright description as "Copyright (c) TONTATA" is
prohibited.
------------------------------------------------------------------------------
COPYRIGHT
- MG Profile Compiler and accompanying written materials are copyright
1993-96 TONTATA.
------------------------------------------------------------------------------
WARRANTY
- MG Profile Compiler and accompanying written materials are provided
"as is" without warranty of any kind. Any damage caused by using or
impossibility to use this software or accompanying written materials is
the responsibility of the user.
- By using MG Profile Compiler and accompanying written materials, you can
freely produce and distribute data or software in case regulations for a
distribution are not violated. However, any damage or trouble caused by
the distribution or by using materials distributed is the responsibility
of the user.
- Specifications for software interface between MIDIGraphy and profiles
might be changed without notification to users.
------------------------------------------------------------------------------
VERSION HISTORY
Ver.1.3.0 (1996/11/22)
- The creator coeds of output profiles have been changed to be match with
MIDIGraphy 1.3.0.
- Added a source file for "SC-88 Profile".
- Added a source file for "QY10 Profile".
- Modified QTMI Profile to adapt QuickTime 2.5.
- Corrected spelling mistakes in English documents and in strings of
profiles (Thanks to Mr. Mario Leonti).
- Corrected mistakes of data in some profiles.
Ver.1.2.1 (1996/04/12)
- The source file for QTMI Profile is newly included.
- Now English document is available (yes, this file).
Ver.1.2.0 (1996/03/20)
Ver.1.1.1 (1996/02/12)
Ver.1.0.5 (1995/11/18)
Ver.0.9.0 (1995/11/04) "Beta Version"
------------------------------------------------------------------------------
* English is not my native language. If you find spelling or grammatical
errors in any part of MG Profile Compiler, please inform me. Thank you.
------------------------------------------------------------------------------
------------------------------------------------------------------------------
MG Profile Compiler Ver.1.3.0 / User's Manual (English edition)
Copyright (c) 1993-96 TONTATA
------------------------------------------------------------------------------
Created by TONTATA (a member of JIRAIYA-AIKOUKAI)
NIFTY-Serve : NCA02217
Internet : NCA02217@niftyserve.or.jp
mmaeda@ca2.so-net.or.jp
tontata@kagi.com
Home Page : http://ux01.so-net.or.jp/~mmaeda/
------------------------------------------------------------------------------
TABLE OF CONTENTS
~~~~~~~~~~~~~~~~~
1. Abstract
2. Usage
2.1. How To Install
2.2. How To Compile
2.3. Error Messages
A. MGPC Syntax
A1. Preprocessing
A1.1. Comments
A1.2. File Inclusion
A1.3. Symbol Substitutions
A2. Expressions
A2.1. String Expressions
A2.2. Numeric Value Expressions
A2.3. File Path Expressions
A3. Statements
A3.1. Profile Description Statements
A3.2. Resource Description Statements
A3.2.1. 'vers' Description Statements
A3.2.2. 'PNam' Description Statements
A3.2.3. 'NNam' Description Statements
A3.2.4. 'Midi' Description Statements
A3.2.5. 'Mid#' Description Statements
A3.2.6. 'Exdf' Description Statements
------------------------------------------------------------------------------
1. Abstract
~~~~~~~~~~~
MG Profile Compiler is an application for Macintosh that allows you to
make sound device profiles for MIDIGraphy. It compiles source text files, and
then generates sound device profiles. By using MG Profile Compiler, you can
create following resources:
- 'vers': A resource contains version and copyright descriptions.
- 'PNam': A resource contains a program name list.
- 'NNam': A resource contains a note name list.
- 'Midi': A resource contains directly output MIDI data.
- 'Mid#': A resource contains a list of 'Midi'.
- 'Exdf': A resource contains a system exclusive filter.
2. Usage
~~~~~~~~
2.1. How To Install
This package contains following files:
MGPC folder
+- MGProfCompiler : MG Profile Compiler application.
+- mgpc.doc : this file.
+- profile sources : the folder contains sample source files.
+- ***.s : sample source files.
You can install these files any where you like in your hard disk.
2.2. How To Compile
MG Profile Compiler compiles source text file then generates profiles. To
edit source text files, you need a text editor application. You can use any
text editor which can handle 'TEXT' files. You can use SimpleText which
provided by Apple Computer Inc., but note that SimpleText can not handle a
TEXT file over 32KB in size. All of sample source files are smaller than
32KB, but it might be necessary to make source files over 32KB. (I'm using
ASLEdit+ by Mr. Hiroo Yamada).
To create new profile, first, make a source text file according to
syntaxes described later. Since MG Profile Compiler do only simplicity error
checks, please make a source file after you understand syntaxes thoroughly.
Next, compile your source file by MG Profile Compiler. There are
following two method to compile your source file:
Method-A:
- Launch MG Profile Compiler application.
- Choose the menu item "File>Compile".
- Choose your source file in the Open dialog box.
Method-B:
- Drag your source file and drop onto MG Profile Compiler icon.
There is no option related to compilation. A progress dialog will be
appear while a compilation process is running. If MG Profile Compiler finds
an error in your source, it displays an error message dialog, and the compile
process is stopped.
2.3. Error Messages
If MG Profile Compiler finds an error, it displays following error
messages with position (a line number) in the file:
- "file cannot open."
- "syntax error."
- "comment not closed."
- "include nesting overflow."
- "undefined directive."
- "String too log."
- "Resource not found."
- "Memory low."
------------------------------------------------------------------------------
A. MGPC Syntax
~~~~~~~~~~~~~~
A1. Preprocessing
A1.1. Comments
Next two notation are comments and ignored in compilation.
/* this is a comment (this can be consisted plural lines). */
or
// this is a comment ends with the end of line.
A '/*' contained in either type of comment is not regarded as the start
of a comment. A '*/' contained in second type of comment is not regarded as
the end of comment. And a '//' contained in first type of comment is not
regarded as a start of comment.
A1.2. File Inclusion
Next two directive include specified source file.
#include "PATH_NAME"
or
#include <PATH_NAME>
For both two directive, MG Profile Compiler will search specified source
file based on current directory. If you want to include source file which is
not placed in current directory, you must specify as a PATH_NAME a relative
path from current directory or a full path of the file you want to include.
Expressions for PATH_NAME will be described later.
A1.3. Symbol Substitutions
Next directive defines a symbol and assign value to it.
#include SYMBOL_NAME VALUE
After in this directive, an expression $SYMBOL_NAME$ will be replaced
with the VALUE. The VALUE may be a numeric value expression or a string
expression. If you specify $UNDEFINED_SYMBOL$ in source file, it will be
ignored (not causes an error).
A2. Expressions
A2.1. String Expressions
Next two expressions are for string data.
"STRING"
or
"STRING_1" "STRING_2" ...
Characters '/*', '*/' and '//' in STRING expression are not regarded as
comment-tags. If you want to use the '"' character in a string expression,
you must specify as '¥"'. If you want to use the '¥' character in a string
expression, you must specify as '¥¥'. If you specify plural string
expressions without separator except space, tab or CR, they will be regarded
as one string. Some expressions of them can be $SYMBOL_NAME$ expression.
A2.2. Numeric Value Expressions
Next expressions are for numeric data.
DECIMAL_VALUE
or
HEXADECIMAL_VALUE (start with '0x')
A2.3. File Path Expressions
The path expression for a file in the current directory is only a file
name:
"FILE_NAME"
The relative path expression for a file in other directories is started
with ':', and separating directory names with ':', as shown below:
":DIRECTORY_NAME:FILE_NAME"
The upper level of the current directory is expressed with '::', and the
twice upper level is expressed with ':::'.
The absolute pass expression is started with the volume name and
separating directory names with ':', as shown below:
"VOLUME_NAME:DIRECTORY_NAME:FILE_NAME"
NOTE: The PATH_NAME expression for an #include directive can not be a
$SYMBOL_NAME$ expression.
A3. Statements
A3.1. Profile Description Statements
Next statement creates a new profile.
FILE("PATH_NAME"){
RESOURCE_DESCRIPTION
RESOURCE_DESCRIPTION
:
:
};
("PATH_NAME") identifies a profile to create. The PATH_NAME expression
must be a relative path expression from the current directory, or an absolute
path expression.
One source file may contain plural profile description. And one profile
description statement may contain plural resource descriptions but plural
'vers' descriptions will be ignored except last one. Some or all resource
descriptions may be in an included file. A resource description outside
profile descriptions will cause a compile error.
A3.2. Resource Description Statements
A3.2.1. 'vers' Description Statements
Next statement creates a 'vers' resource.
vers("RESOURCE_NAME"){
VERSION_NO ,
REVISION_NO_UPPER ,
REVISION_NO_LOWER ,
STAGE_NO ,
BUILD_NO ,
INTERNATIONAL_CODE ,
"STRING_1" ,
"STRING_2" ,
};
("RESOURCE_NAME") identifies a resource to create.
This statement creates a 'vers' resource, id=1 which shows a file
version. 'vers' resource id=2 which shows a package version is copied from
'vers' resource id=1 in MG Profile Compiler. If a profile description
statement contains plural 'vers' resource description, they are ignored
except last one. If a profile description statement contains NO 'vers'
resource description, 'vers' resource id=1 is also copied from MG Profile
Compiler.
A3.2.2. 'PNam' Description Statements
Next statement creates a 'PNam' resource.
PNam("RESOURCE_NAME")=("REF_FILE_NAME","REF_RESOURCE_NAME"){
PROGRAM_NAME_DESCRIPTION ,
PROGRAM_NAME_DESCRIPTION ,
:
:
};
("RESOURCE_NAME") identifies a resource to create.
("REF_FILE_NAME","REF_RESOURCE_NAME") identifies an 'original' resource
from which a new resource will be derived. If the original resource
identifier is omitted, no original resource is used. If only "REF_FILE_NAME"
is omitted, the original resource is searched in currently creating profile
(in this case, REF_RESOURCE_NAME must be previously described in the source
file). If all braced PROGRAM_NAME_DESCRIPTIONs are omitted, a new resource
will be a copy of the original resource.
Next statements describe PROGRAM_NAME_DESCRIPTION:
"PROG_NO:PROG_NAME_STRING"
or
+"PROG_NO:PROG_NAME_STRING"
or
-"PROG_NO:"
or
"-"
A PROG_NO may be a 2-figure hexadecimal number. It may contain characters
'0'-'9' and 'A'-'F'. Don't use characters 'a'-'f'.
In case of the first from, if a same PROG_NO is found in the current
'PNam' resource (i.e. in an original resource or in previous
PROGRAM_NAME_DESCRIPTIONs), it will be replaced with PROG_NAME_STRING
described here. If a same PROG_NO is not found, a new PROG_NAME_STRING will
be added the end of current 'PNam' resource.
In case of the second form, a new PROG_NAME_STRING will be added the end
of current 'PNam' resource non conditionally.
In case of the third form, if a same PROG_NO is found the current 'PNam'
resource, it will be removed from the current resource.
The last form defines a separator.
A3.2.3. 'NNam' Description Statements
Next statement creates a 'NNam' resource.
NNam("RESOURCE_NAME")=("REF_FILE_NAME","REF_RESOURCE_NAME"){
NOTE_NAME_DESCRIPTION ,
NOTE_NAME_DESCRIPTION ,
:
:
};
("RESOURCE_NAME") identifies a resource to create.
("REF_FILE_NAME","REF_RESOURCE_NAME") identifies an 'original' resource
from which a new resource will be derived. If the original resource
identifier is omitted, no original resource is used. If only "REF_FILE_NAME"
is omitted, the original resource is searched in currently creating profile
(in this case, REF_RESOURCE_NAME must be previously described in the source
file). If all braced NOTE_NAME_DESCRIPTIONs are omitted, a new resource will
be a copy of the original resource.
Next statements describe NOTE_NAME_DESCRIPTION:
"NOTE_NO:NOTE_NAME_STRING"
or
+"NOTE_NO:NOTE_NAME_STRING"
or
-"NOTE_NO:"
or
"-"
A NOTE_NO may be a 2-figure hexadecimal number. It may contain characters
'0'-'9' and 'A'-'F'. Don't use characters 'a'-'f'.
In case of the first from, if a same NOTE_NO is found in the current
'PNam' resource (i.e. in an original resource or in previous
NOTE_NAME_DESCRIPTIONs), it will be replaced with NOTE_NAME_STRING described
here. If a same NOTE_NO is not found, a new NOTE_NAME_STRING will be added
the end of current 'NNam' resource.
In case of the second form, a new NOTE_NAME_STRING will be added the end
of current 'NNam' resource non conditionally.
In case of the third form, if a same NOTE_NO is found the current 'NNam'
resource, it will be removed from the current resource.
The last form defines a separator.
A3.2.4. 'Midi' Description Statements
Next statement creates a 'Midi' resource.
Midi("RESOURCE_NAME")=("REF_FILE_NAME","REF_RESOURCE_NAME");
or
Midi("RESOURCE_NAME"){
MIDI_EVENT
};
("RESOURCE_NAME") identifies a resource to create.
The first form creates a new 'Midi' resource as a copy of an original
resource identified by ("REF_FILE_NAME","REF_RESOURCE_NAME"). If the
"REF_FILE_NAME" is omitted, the original resource is searched in currently
creating profile (in this case, REF_RESOURCE_NAME must be previously
described in the source file).
The second form creates a new 'Midi' resource which contains a specified
MIDI_EVENT. A MIDI_EVENT is hexadecimal encoded data.
A3.2.5. 'Mid#' Description Statements
Next statement creates a 'Mid#' resource.
Mid#("RESOURCE_NAME")=("REF_FILE_NAME","REF_RESOURCE_NAME"){
Midi_RESOURCE_NAME ,
Midi_RESOURCE_NAME ,
:
:
};
("RESOURCE_NAME") identifies a resource to create.
("REF_FILE_NAME","REF_RESOURCE_NAME") identifies an 'original' resource
from which a new resource will be derived. If the original resource
identifier is omitted, no original resource is used. If only "REF_FILE_NAME"
is omitted, the original resource is searched in currently creating profile
(in this case, REF_RESOURCE_NAME must be previously described in the source
file). If all braced MIDI_RESOURCE_NAMEs are omitted, a new resource will be
a copy of the original resource.
MIDI_RESOURCE_NAMEs will be stored into the profile without any
propriety verification in the compilation (It will be verified at a runtime
on MIDIGraphy).
A3.2.6. 'Exdf' Description Statements
Next statement creates a 'Exdf' resource.
Exdf("RESOURCE_NAME")=("REF_FILE_NAME","REF_RESOURCE_NAME");
or
Exdf("RESOURCE_NAME"){
FIELD_DESCRIPTION ,
FIELD_DESCRIPTION ,
:
:
};
("RESOURCE_NAME") identifies a resource to create.
The first form creates a new 'Exdf' resource as a copy of an original
resource identified by ("REF_FILE_NAME","REF_RESOURCE_NAME"). If the
"REF_FILE_NAME" is omitted, the original resource is searched in currently
creating profile (in this case, REF_RESOURCE_NAME must be previously
described in the source file).
The second form creates a new 'Exdf' resource which contains specified
FIELD_DESCRIPTIONs. Next statement describes FIELD_DESCRIPTION:
FIELD_NAME,FIELD_TYPE,FIELD_BITS,FIELD_DATA
A FIELD_NAME may be a string expression. If the FIELD_TYPE is $Exdf_val$
or $Exdf_data$, this FIELD_NAME will appear as the item title in the System
Exclusive Editor dialog.
A FIELD_TYPE may be one of below:
$Exdf_fix$ : It defines a Fixed-Data field. For this type, the
FIELD_BITS is the number of bits for the field, and
the FIELD_DATA is the Fixed-data. At runtime on
MIDIGraphy, data in Fixed-Data field will be
examined to decide Exdf used to edit a system
exclusive event.
$Exdf_val$ : It defines a Value-Data field. For this type, the
FIELD_BITS is the number of bits of the field, and
the FIELD_DATA is the default value of the Value-
Data.
$Exdf_data$ : It defines a Variable-Length-Data field. For this
type, the FIELD_BITS is the unit number of bits
(i.e. the number of bits of the field is a multiple
of the FIELD_BITS), and the FIELD_DATA is the
default value of each unit in Variable-Length-Data.
$Exdf_sumStart$ : It defines a start point of check-sum calculation.
Descriptions for a FIELD_BITS and a FIELD_DATA are
not used.
$Exdf_sumEnd$ : It defines a end point of check-sum calculation.
Descriptions for a FIELD_BITS and a FIELD_DATA are
not used.
$Exdf_sum$ : It defines Check-Sum-Data field. For this type, the
FIELD_BITS is the number of bits of the field, and
the FIELD_DATA is not used. At runtime on
MIDIGraphy, the Check-Sum-Data will be calculated
according to next rule: The lower 7 bits of the sum
total for all data from start point until end point
and data in the Check-Sum-Data field is equal to 0.
$Exdf_end$ : It defines End-of-Exdf field. Each Exdf resource
must be end with this type field.
These symbols are pre-defined by MG Profile Compiler.
------------------------------------------------------------------------------